package test.serverframe.armc.server.manager.service;/**
 * Created by luoxuan on 2018/10/23.
 */

import com.alibaba.fastjson.JSONArray;
import org.json.JSONException;
import test.serverframe.armc.server.manager.model.CenterInterface;

/**
 * @Description 远程服务调用接口
 * @Author LSY
 * @Date 2018/10/23 9:21
 * @ClassName test.serverframe.armc.server.manager.service.ServerApiService
 */
public interface ServerApiService {

    /**
     * @Descripttion 分页获取服务列表
     * @Author LSY
     * @Date 16:41
     * @Param [pageNum 页码, pageSize 每页记录数, serverName 服务名称]
     * @Return
     **/
    JSONArray listServer(int pageNum, int pageSize, String serverName) throws JSONException;

    /**
     * @Descripttion 获取实例列表
     * @Author LSY
     * @Date 16:42
     * @Param [sId 服务id]
     * @Return
     **/
    JSONArray listInstance(String sId) throws JSONException;

    /**
     * @Descripttion 分页获取api类别列表
     * @Author LSY
     * @Date 16:42
     * @Param [pageNum 页码, pageSize 每页记录数, siId, siaoName api类别名称]
     * @Return
     **/
    JSONArray listApiOwer(int pageNum, int pageSize, String siId, String siaoName) throws JSONException;

    /**
     * @Descripttion 获取接口列表
     * @Author LSY
     * @Date 16:43
     * @Param [siId 实例id, siaoId 类别id]
     * @Return
     **/
    JSONArray listInterface(String siId, String siaoId) throws JSONException;

    /**
     * 获取接口对象
     * @param siaId 接口id
     * @return
     */
     CenterInterface getInterface(String siaId);

    /**
     * @Author UaenaSA
     * 传入接口ID 和请求参数得到接口响应参数
     * @param siaId 接口ID
     * @param queryStr Query类型参数
     * @param bodyStr Body类型参数
     * @param headerStr Header类型参数
     * @return 响应参数的Object对象
     * @throws JSONException
     */

    String getInterfaceResponse(String siaId,String queryStr, String bodyStr, String headerStr) throws JSONException;
}
